home *** CD-ROM | disk | FTP | other *** search
/ Die Speccy' 97 / Die Speccy' 97.iso / amiga_system / the_aminet / comm / bbs / amms20d.lha / amms / mbbatch / com / zerberus_Client < prev    next >
Text File  |  1995-05-05  |  7KB  |  228 lines

  1. ;    Zerberus-Netzcall
  2. ;
  3. ;    Scriptfile zum Austausch neuer Nachrichten im Z-Netz-Format als
  4. ;    CALLER
  5. ;
  6. ;    $VER: 2.03 / 19.04.1994
  7. ;
  8. ;    Beschreibung :
  9. ;    Diese Batchdatei wird beim Anrufen der Server-Box von der
  10. ;    anrufenden Mailbox ausgefuehrt.
  11. ;    Das Passwort fuer den LOGIN in die andere Box muss im File
  12. ;    MBDAT:BOXNAME.PW stehen, wobei BOXNAME = Name der angerufenden
  13. ;    Box ist.
  14. ;    Die gesendeten und empfangenen Daten werden im Directory
  15. ;    MBMSG:POINT/<Portname>/ temporaer gespeichert.
  16. ;    Stehen im Directory MBMSG:POINT/NETCALL/ die Dateien <USERNAME>.LHA
  17. ;    und <USERNAME>.MSGNR, so werden nicht die neusten Nachrichten und
  18. ;    Files aktuell exportiert und gepackt, sondern diese vorgepackten
  19. ;    Daten benutzt.
  20. ;
  21. ;    Das Script sollte so eingebunden werden, dass es ueber Flags
  22. ;    auf die folgende Befehle zugreifen kann !
  23. ;
  24. ;    CHECK FILE
  25. ;    CONVERT FASTTOZER
  26. ;    DISK DOWNLOAD
  27. ;    DISK UPLOAD
  28. ;    ECHO
  29. ;    EOD
  30. ;    EXTERN
  31. ;    FASTNET GETFILE
  32. ;    GOTO
  33. ;    IF
  34. ;    ON ERROR
  35. ;    ON HANGUP
  36. ;    POINT GETFILE
  37. ;    POINT MAKEFILE
  38. ;    WAIT
  39. ;    WAITSTRING
  40. ;
  41. ;    Folgende Amiga-Dos-Befehle werden benutzt :
  42. ;
  43. ;    COPY
  44. ;    DELETE
  45. ;
  46. ;    Einrichtung eines Netcalls fuer eine Netzbox (Node) :
  47. ;    USERNAME : Name der anzurufenen Node
  48. ;    STRASSE  : @NETCALL
  49. ;
  50. ;    Einrichtung eines LocalGates fuer die Einbindung eines anderen
  51. ;    lokalen Netzwerks :
  52. ;    USERNAME : Name der anzurufenen Node
  53. ;    VORNAME  : Gatename im Fastnet
  54. ;    STRASSE  : @LOCALGATE
  55. ;
  56. ;    Einrichtung eines Gates fuer die Einbindung eines anderen 
  57. ;    globalen Netzwerks :
  58. ;    USERNAME : Name der anzurufenen Node
  59. ;    VORNAME  : Gatename im Fastnet
  60. ;    NACHNAME : Gatename im Zerberus-Netz
  61. ;    STRASSE  : @GATE
  62. ;
  63. ;    Beim Netcall (@NETCALL) muss die Datei MBDAT:USERNAME.NODES
  64. ;    existieren (USERNAME = Name der anzurufenen Node).
  65. ;    In dieser Datei muss die anzurufene Node und die Nodes stehen,
  66. ;    die ueber sie zu erreichen sind.
  67. ;    Datei fuer eine Node:
  68. ;    TYP:S<LF>
  69. ;    SID:0<LF>
  70. ;    LEN:20<LF>
  71. ;    NAME DER ANZURUFENEN NODE 0<LF>
  72. ;
  73. ;    Wenn mehrere Nodes ueber den Netcall mit dem Fastnet versorgt werden,
  74. ;    bitte den Aufbau der Datei in der Dokumentation FASTNET.DOK unter
  75. ;    dem Stichwort Systemnachricht der Kategorie 0 nachlesen.
  76. ;
  77. ;       Konstanten :
  78. ;
  79. TMPDIR  = "mbmsg:point/'{port}'/"               ; Dir fuer Tmp-Files
  80. NETDIR  = "mbmsg:point/netcall/"        ; NET-Directory
  81. MAXKBYT = 2000                                  ; Max. Filelaenge in KByte
  82. MSGFILE = "PUFFER"                              ; Name des Msg-Files
  83. NRFILE  = "msgnr"                ; File fuer Msg-Nummern
  84. COPYFILE= "'{NAME}'.lha"            ; Vorgabefile (Pack-Event)
  85. COPYNR  = "'{NAME}'.msgnr"            ; File fuer Msg-Nummern
  86. PCKFILE = "caller.lzh"                          ; Name des gepackten Files
  87. RECFILE = "called.lha"                          ; Name des empfangenen Files
  88. TBOXDIR = "mbdat:"                              ; Dir fuer Fastnet-Boxlistfile
  89. SERNR   = "^A^A^A^A^D"                ; Seriennummer 1,1,1,1,4
  90. PACKER  = "lha -P-1 m ""'TMPDIR''PCKFILE'"" ""'TMPDIR''MSGFILE'"""
  91.                         ; Packen
  92. UPACKER = "lha -P-1 x ""'TMPDIR''RECFILE'"" ""'TMPDIR'"" ""'MSGFILE'"""
  93.                         ; Entpacken
  94. ;
  95. _on error POINT_ERROR                           ; Im Fehlerfall ...
  96.  
  97. ;
  98. ;    Pruefe auf normalen Netcall
  99. ;
  100.  
  101. _if {STREET} != "@NETCALL" then _goto LOCALGATE
  102. OP_GET="/NETCALL"                ; Setze Optionen
  103. OP_MAKE="/NETCALL"
  104. OP_CVT=""
  105. _goto START
  106.  
  107. ;
  108. ;    Pruefe auf LocalGate
  109. ;
  110. LOCALGATE:
  111. _if {STREET} != "@LOCALGATE" then _goto GATE
  112. OP_GET="/NETCALL/LOCALGATE"            ; Setze Optionen
  113. OP_MAKE="/NETCALL"
  114. OP_CVT="/LOCALGATE"
  115. _goto START
  116.  
  117. ;
  118. ;    Pruefe auf Gate
  119. ;
  120. GATE:
  121. _if {STREET} != "@GATE" then _goto POINT_ERROR
  122. OP_GET="/NETCALL/GATE"                ; Setze Optionen
  123. OP_MAKE="/NETCALL/GATE"
  124. OP_CVT="/GATE"
  125.  
  126. ;
  127. ;    Login in der anderen Box
  128. ;
  129. START:
  130. _echo/nolf/raw "^X^C^X^C^X^C^X^C^X^C"        ; Intro abbrechen
  131.  
  132. TRIES=0
  133. LOGIN_LOOP:
  134. TRIES=TRIES+1                    ; Versuchsanzahl +1
  135. _if/i TRIES > 3 then _goto POINT_ERROR        ; Wenn 4., Fehler
  136. _waitstring "Username:" 60 LOGIN_TIMEOUT    ; 60s auf Username: warten
  137. _echo/nolf/raw "ZERBERUS^M"            ; Username schicken
  138. _waitstring "Systemname:" 30 LOGIN_TIMEOUT    ; 30s auf Systemname: warten
  139. _echo/nolf/raw "'{sysname}'^M"            ; Boxname schicken
  140. _waitstring "Passwort:" 30 LOGIN_TIMEOUT    ; 30s auf Passwort: warten
  141. _disk text "mbdat:'{name}'.PW"            ; PW schicken
  142. _echo/nolf/raw "^M"
  143. _waitstring "running arc" 30 LOGIN_TIMEOUT    ; 30s auf running arc warten
  144. _goto LOGIN_OK                    ; Login OK
  145.  
  146. LOGIN_TIMEOUT:
  147. _echo/nolf/raw "^X^C^X^C^X^C^X^C^X^C^M^M^M^M^M"" ; neu synchronisieren
  148. _goto LOGIN_LOOP
  149.  
  150. ;
  151. ;    Login ist okay ... Nachrichten exportieren und packen
  152. ;
  153. LOGIN_OK:
  154. _if TMPDIR != "" then _extern/q delete "'TMPDIR'#?"
  155. _extern/q rename "'TMPDIR''PCKFILE'" "'TMPDIR''PCKFILE''{CALLNR}'"
  156. _extern/q rename "'TMPDIR''RECFILE'" "'TMPDIR''RECFILE''{CALLNR}'"
  157.  
  158. ;
  159. ;    Die neuen Nachrichten fuer die angerufene Box sammeln & packen
  160. ;
  161.  
  162. _check file "'NETDIR''COPYFILE'" EXPORT        ; Existiert Sendefile ?
  163. _extern/q copy "'NETDIR''COPYFILE'" "'TMPDIR''PCKFILE'"    ; Ja, vorgepackte
  164. _extern/q copy "'NETDIR''COPYNR'" "'TMPDIR''NRFILE'"    ; Files benutzen
  165. _goto HANDSHAKE                    ; -> Handshake
  166.  
  167. ;    PMs exportieren
  168.  
  169. EXPORT:
  170. _convert FastToZer'OP_CVT' "'TMPDIR''MSGFILE'"    ; PM-File erstellen
  171.  
  172. ;    Messages exportieren
  173.  
  174. _on error/ignore
  175. _point makefile'OP_MAKE' "'TMPDIR''MSGFILE'" 'MAXKBYT' "'TMPDIR''NRFILE'"
  176. _on error POINT_ERROR
  177.  
  178. ;    Messages packen
  179.  
  180. _extern/q 'PACKER'
  181.  
  182. ;
  183. ;    Transfer
  184. ;
  185. HANDSHAKE:
  186. _waitstring "^U"                ; Auf NAK warten
  187. ACK_LOOP:
  188. _echo/nolf/raw SERNR                ; Seriennummer senden
  189. _menu "" "^F" ACK_OK "^U" ACK_LOOP
  190. ACK_OK:
  191.  
  192. _on hangup/ignore                ; Auch weiter, wenn aufgelegt
  193.  
  194. _disk download "'TMPDIR''PCKFILE'"        ; Unsere Nachrichten schicken
  195. _disk upload "'TMPDIR''RECFILE'"        ; File von Box empfangen
  196.  
  197. _hangup                        ; Und tschuess! (auflegen)
  198.  
  199. ;
  200. ;    Nachrichten importieren
  201. ;
  202.  
  203. _on error/ignore                ; Alle Fehler ignorieren
  204. _point makefile/setnr "'TMPDIR''NRFILE'"    ; Gezogene Msgs = alte Msgs
  205.  
  206. ;    Nicht mehr benoetigte Files loeschen, empfangene Messages entpacken.
  207.  
  208. _extern/q delete "'TMPDIR''PCKFILE'" "'TMPDIR''NRFILE'" "'TMPDIR''MSGFILE'" "'NETDIR''COPYFILE'" "'NETDIR''COPYNR'"
  209. _extern/q 'UPACKER'
  210.  
  211. ;    Altes PM-Netfile loeschen und Nodes in Liste aufnehmen
  212.  
  213. _convert FastToZer'OP_CVT'/Del            ; mbnet:-File loeschen
  214. _if {STREET} != "@NETCALL" then _goto POINT_GET    ; @Netcall ? Nein, verzw.
  215. _fastnet getfile "'TBOXDIR''{name}'.NODES"    ; Boxen in Nodeliste aufnehmen
  216.  
  217. ;    Alle Messages und PMs importieren
  218.  
  219. POINT_GET:
  220. _point getfile'OP_GET' "'TMPDIR''MSGFILE'"    ; Nachrichten einsortieren
  221.  
  222. ; Alle Files loeschen
  223.  
  224. POINT_ERROR:                                    ; Fehler / Ende
  225. POINT_END:
  226. _if TMPDIR != "" then _extern/q delete "'TMPDIR'#?" ; Disk aufraeumen
  227. _eod
  228.